LW2000

 

Nombre:      Free2Fax

Versión:       1.00.03

Editor:         Answers 2000

Víctima:       FREE2FAX.EXE

Herramientas:       W32Dasm

                            Hacker’s View v6.01

                            Hex WorkShop v2.54 u otro editor hexadecimal

                            Cerebro

Cracker:                LW2000

Tutorial:                número 3

URL:                      http://www.wildcomputer.com/free2fax

 

Renuncia: Este tutorial tiene una finalidad únicamente educativa. No asumo ninguna responsabilidad por el mal uso de éste material.

 

1.     Cargamos Free2Fax SIN estar conectados a Internet. ¡Boom! “free2fax needs to download the advertising data (adverts are placed on the top of         faxes sent using the unregistered version of Free2Fax) from the Internet before it can be used.” ¡Hey! ¿Qué es esto? ¡Que tenemos que descargar publicidad! ¡PUES NO! Pulsamos ‘No’.

2.     ¡Boom! “Free2Fax is now exiting. When you are ready to download the advertising data please re-start FreeFax.” Salimos de Free2Fax y copiamos “FREE2FAX.EXE” a “BACKUP.EXE”

3.     ¡Hmmm! Vamos a crackear éste programa. Cargamos W32Dasm con “FREE2FAX.EXE”. Hacemos click en el botón ‘String Data References’ y buscamos “Free2Fax needs to download the …” Cerramos las SDR. Deberíamos ver esto:

 

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:00418164(U)

|

:0041816B 85C0              test eax, eax

:0041816D 0F84D40D0000      je 00418F47  >Aquí se comprueba si ya

>hemos hecho la descarga

:00418173 6A00              push 00000000

:00418175 6A24              push 00000024

 

* Possible StringData Ref from Data Obj ->"free2fax needs to download” ->"the advertising data (adverts are "

->"placed on the top of faxes sent "

->"using the unregistered version "

->"of free2fax) from the Internet "

->"before it can be used."

 

4.     Bien, vamos a cambiar esto. Ponemos la barra en ‘:0041816D 0F84D40D0000 JE 00418F47’. En la barra de estado tenemos el offset ‘1756Dh’. La ‘h’ es por ‘hexadecimal’, podemos deshacernos de élla: nuestro offset es ‘1756D’. Salimos de W32Dasm y cargamos HIEW con “FREE2FAX.EXE”. Pulsamos Intro dos veces para ir al modo DeCode. Pulsamos F5 para ir a la posición de código ‘1756D’. Pulsamos F3 para editar y cambiamos el ‘84’ a ‘85’, lo que hará que el ‘JE’ se convierta a ‘JNE’. Pulsamos F9 para actualizar y F10 para salir.

5.     Arrancamos nuevamente Free2Fax. ¡Hmmmm! Algunas messageBox; las ignoramos. Vamos a ‘Options’, ‘Register’. Introducimos nuestro Registration Password; probamos con ‘LW2000’. ¡Hmmm! Las letras no funcionan: obtenemos ‘2000’. Bien, probemos con ‘2000’. Pulsamos ‘Ok’. Vemos una nueva messageBox “Invalid Registration Password.” Bien, salimos de Free2Fax y cargamos W32Dasm con ‘FREE2FAX.EXE’.

6.     Hacemos click en el botón SDR y buscamos “Invalid Registration Password”. Encontraremos ésta cadena tres veces. Vamos a echar un vistazo a la primera:

 

:00417CBE 8378F809        cmp dword ptr [eax-08], 00000009

:00417CC2 7430            je 00417CF4    >Vamos a echar un vistazo

>aquí

:00417CC4 8B442420        mov eax, dword ptr [esp+20]

:00417CC8 85C0            test eax, eax 

:00417CCA 740E            je 00417CDA         

:00417CCC 6A00            push 00000000

:00417CCE 6A30            push 00000030

 

* Possible StringData Ref from Data Obj ->"Invalid Registration Password"

 

7.     Vamos a la posición de código ‘00417CF4’:

 

:00417CF4 50                push eax

:00417CF5 E816640000        call 0041E110

:00417CFA 8BF0               mov esi, eax

:00417CFC 83C404            add esp, 00000004

:00417CFF 81FED323FD26       cmp esi, 26FD23D3 >¡Muy interesante!

:00417D05 0F8429010000       je 00417E34       >¡Good Boy!

:00417D0B 81FECB4EFD26       cmp esi, 26FD4ECB >¡Muy interesante!

:00417D11 0F841D010000       je 00417E34       >¡Good Boy!

:00417D17 81FEC379FD26       cmp esi, 26FD79C3 >¡Muy interesante!

:00417D1D 0F8411010000       je 00417E34       >¡Good Boy!

:00417D23 85F6               test esi, esi

:00417D25 7F30               jg 00417D57       >¡Bad Boy!

:00417D27 8B442420           mov eax, dword ptr [esp+20]

:00417D2B 85C0               test eax, eax

:00417D2D 740E               je 00417D3D

:00417D2F 6A00               push 00000000

:00417D31 6A30               push 00000030

 

* Possible StringData Ref from Data Obj ->"Invalid Registration Password" <- The second string

 

8.      

 

:00417CFA 8BF0               mov esi, eax

:00417CFC 83C404             add esp, 00000004

:00417CFF 81FED323FD26       cmp esi, 26FD23D3 >¡Muy interesante!

:00417D05 0F8429010000       je 00417E34       >¡Good Boy!

 

9.     Bien, ¿qué quiere decir esto? El programa guarda en EAX en ESI. Suma cuatro al puntero de la pila y después comprar anuestro Code con el Code correcto. ‘26FD23D3’ es el valor hexadecimal del Serial. Recuerde que nuestro programa sólo acepta números para el Serial. Bien, arrancamos Hex WorkShop; hacemos click en ‘Tools’, ‘Calculator’. Insertamos nuestro valor hexadecimal y hacemos click en ‘Decimal’. Nos da ‘654123987’. ¡Nuestro Serial correcto!

10. Cargamos Free2Fax. Vamos al diálogo de registro e introducimos ‘654123987’ y pulsamos ‘Ok’. R¡”Registration Accepted – Thank you.”

11. ¿Se ha dado cuenta ya? ‘23FD4ECB’ y ‘26FD79C3’ son dos números hexadecimales más válidos como Serials.

 

¡Enhorabuena! ¡Ya somos un usuario registrado!

 

¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme un email a LW2000@gmx.net. o vaya a http://www.LW2000.cjb.net

 

Gracias a tKC por sus tutoriales. Empecé leyendo su primer tutorial y todavía sigo leyéndolos.

 

Traducción de: MeGaBiTe